//
//  KSRequestConfig.swift
//  Supermarket
//
//  Created by liuxm on 2017/8/8.
//  Copyright © 2017年 kushao. All rights reserved.
//

import UIKit

enum KSHttpType:String {
    case KSHttpGet                                     // GET请求
    case KSHttpPost                                    // POST请求
}

enum KSApiType:String {
    // 账户
    case KSLogin                                       // 账号登录
    case KSLogOut                                      // 退出登录
    case KSLoginBySms                                  // 快捷登录 - 手机号验证码
    case KSSendCode                                    // 发送验证短信
    case KSRegister                                    // 用户注册接口
    case KSGetInvite                                   // 获取推荐人登录名
    case KSCheckRegister                               // 检测账号是否被注册过
    case KSForgetLoginPwd                              // 找回登录密码（未登录情况下）
    case KSAccountVersion                              // 账户设置(版本页)
    case KSIOSStorageOrderList                         // 订单列表
    case KSIOSStorageOrderDetail                       // 供货管理-订单详情
    case KSOrderAuditing                               // 内购单审核
    case KSOrderOutFPJH                                // 出库 分配拣货操作
    case KSOrderOutZX                                  // 出库 装车操作
    case KSDeliveryBoxStore                            // 添加配送箱
    case KSDeliveryBoxDel                              // 删除配送箱
    case KSIosStorageJhList                            // 拣货单列表
    case KSIosStorageJhorderdetail                     // 拣货详情
    case KSIosStorageFjlist                            // 分拣列表
    case KSIosStorageFjListDetail                      // 分拣详情
    case KSIosStorageJhdetail                          // 开始拣货页面
    case KSIosOrderOutFPJH                             // 分配拣货操作
    case KSIosOrderDiscardGain                         // 用户放弃认领权限
    case KSIosDeliveryBoxStore                         // 添加配送箱
    case KSIosOrderOutFJ                               // 出库 分拣操作
    case KSIosOrderOutZX                               // 出库 装车操作
    case KSIosStorageZclist                            // 装车列表
    case KSIosStorageZclistdetail                      // 装车明细
    case KSOrderDiscardGain                            // 用户放弃认领权限
    case KSIosOrderAuditing                            // 内购单审核
    case KSIosKuaidiList                               // 快递列表
    case KSIosAudiSend                                 // 审核发货
    
    // 采购管理
    case KSGetSellerStorage                            // 获取已购买的供应商列表
    case KSStorageOrderDiffList                        // 差异单列表
    case KSStorageOrderDiffDetail                      // 差异详情
    case KSRefundList                                  // 退款单列表
    case KSOrderRefundDetail                           // 退款单详情
    case KSDoRefund                                    // 申请退款
    case KSLogisticDetail                              // 物流查询
    
    // 图片上传
    case KSUpload                                       // 图片上传
}

struct KSApi {
    var url: String!
    var httpType: String!
}

class KSRequestConfig: NSObject {
    #if DEBUG
    static let kServiceUrl = "http://t.storage.abhpd.com/api/"
    #else
    // 幻牛付
    static let kServiceUrl = "http://napi.51myd.com/"
    #endif
}

extension KSRequestConfig {
    static let kApiDictionary: [String: KSApi] = [
        KSApiType.KSLogin.rawValue: KSApi(url:"login",                              httpType:KSHttpType.KSHttpPost.rawValue),                       // 账号登录
        KSApiType.KSLogOut.rawValue: KSApi(url:"log_out",                           httpType:KSHttpType.KSHttpPost.rawValue),                       // 退出登录
        KSApiType.KSLoginBySms.rawValue  : KSApi(url:"login_by_sms",                httpType:KSHttpType.KSHttpPost.rawValue),                       // 快捷登录 - 手机号验证码
        KSApiType.KSSendCode.rawValue  : KSApi(url:"send_code",            httpType:KSHttpType.KSHttpPost.rawValue),                       // 发送验证短信
        KSApiType.KSRegister.rawValue  : KSApi(url:"register",                      httpType:KSHttpType.KSHttpPost.rawValue),                       // 用户注册接口
        KSApiType.KSGetInvite.rawValue  : KSApi(url:"get_invite",                   httpType:KSHttpType.KSHttpPost.rawValue),                       // 获取推荐人登录名
        KSApiType.KSCheckRegister.rawValue  : KSApi(url:"check_register",           httpType:KSHttpType.KSHttpPost.rawValue),                       // 判断手机号是否注册过接口
        KSApiType.KSForgetLoginPwd.rawValue : KSApi(url:"forget_login_pwd",         httpType:KSHttpType.KSHttpPost.rawValue),                              // 找回登录密码（未登录情况下）
        KSApiType.KSAccountVersion.rawValue : KSApi(url:"account_version",          httpType:KSHttpType.KSHttpPost.rawValue),                        // 账户设置(版本页)
        KSApiType.KSIOSStorageOrderList.rawValue : KSApi(url:"ios_storage_order_list",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 内购单列表
        KSApiType.KSIOSStorageOrderDetail.rawValue : KSApi(url:"ios_storage_order_detail",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 内购单详情
        KSApiType.KSOrderAuditing.rawValue : KSApi(url:"order_auditing",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 内购单审核
        KSApiType.KSOrderOutFPJH.rawValue : KSApi(url:"order_out_FPJH",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 出库 分配拣货操作
        KSApiType.KSOrderOutZX.rawValue : KSApi(url:"order_out_ZX",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 出库 装车操作
        KSApiType.KSDeliveryBoxStore.rawValue : KSApi(url:"delivery_box_store",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 添加配送箱
        KSApiType.KSDeliveryBoxDel.rawValue : KSApi(url:"delivery_box_del",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 删除配送箱
        KSApiType.KSGetSellerStorage.rawValue : KSApi(url:"get_seller_storage",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 获取已购买的供应商列表
        KSApiType.KSStorageOrderDiffList.rawValue : KSApi(url:"storage_order_diff_list",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 差异单列表
        KSApiType.KSStorageOrderDiffDetail.rawValue : KSApi(url:"storage_order_diff_detail",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 差异单列表
        KSApiType.KSRefundList.rawValue : KSApi(url:"refund_list",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 退款单列表
        KSApiType.KSOrderRefundDetail.rawValue : KSApi(url:"order_refund_detail",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 退款单详情
        KSApiType.KSUpload.rawValue : KSApi(url:"upload",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 图片上传
        KSApiType.KSDoRefund.rawValue : KSApi(url:"do_refund",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 申请退款
        KSApiType.KSLogisticDetail.rawValue : KSApi(url:"logistic_detail",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 申请退款
        KSApiType.KSIosStorageJhList.rawValue : KSApi(url:"ios_storage_jhlist",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 拣货单列表
        KSApiType.KSIosStorageJhorderdetail.rawValue : KSApi(url:"ios_storage_jhorderdetail",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 拣货单列表
        KSApiType.KSIosStorageFjlist.rawValue : KSApi(url:"ios_storage_fjlist",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 分拣列表
        KSApiType.KSIosStorageFjListDetail.rawValue : KSApi(url:"ios_storage_fjlistdetail",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 分拣详情
        KSApiType.KSIosStorageJhdetail.rawValue : KSApi(url:"ios_storage_jhdetail",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 开始拣货页面
        KSApiType.KSIosOrderOutFPJH.rawValue : KSApi(url:"ios_order_out_FPJH",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 分配拣货操作
        KSApiType.KSIosOrderDiscardGain.rawValue : KSApi(url:"ios_order_discard_gain",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 用户放弃认领权限
        KSApiType.KSIosDeliveryBoxStore.rawValue : KSApi(url:"ios_delivery_box_store",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 添加配送箱
        KSApiType.KSIosOrderOutFJ.rawValue : KSApi(url:"ios_order_out_FJ",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 出库 分拣操作
        KSApiType.KSIosOrderOutZX.rawValue : KSApi(url:"ios_order_out_ZX",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 出库 分拣操作
        KSApiType.KSIosStorageZclist.rawValue : KSApi(url:"ios_storage_zclist",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 装车列表
        KSApiType.KSIosStorageZclistdetail.rawValue : KSApi(url:"ios_storage_zclistdetail",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 装车明细
        KSApiType.KSOrderDiscardGain.rawValue : KSApi(url:"order_discard_gain",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 用户放弃认领权限
        KSApiType.KSIosOrderAuditing.rawValue : KSApi(url:"ios_order_auditing",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 内购单审核
        KSApiType.KSIosKuaidiList.rawValue : KSApi(url:"ios_kuaidi_list",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 快递列表
        KSApiType.KSIosAudiSend.rawValue : KSApi(url:"ios_audi_send",          httpType:KSHttpType.KSHttpPost.rawValue),                           // 审核发货
    ]
}

